package com.example.kehoobackend.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.List;

@Data
@TableName(value = "comment",autoResultMap = true)
public class Comment {

    //评论ID
    @TableId(value = "comment_id",type = IdType.AUTO)
    private Integer comment_id;

    //评论内容
    private String comment_content;

    //评论获赞
    private Integer liked_count;

    //评论时间
    private String create_time;

    //回复评论ID
    private Integer at_comment_id;

    //评论对象ID（解析为问题ID或是回答ID）
    private Integer to_id;

    //发表评论的用户ID
    private Integer user_id;

    //评论类型（0表示对问题的评论，1表示对回答的评论）
    private Integer type;

    //发出评论的用户名
    @TableField(exist = false)
    private String username;

    // 是否点赞
    @TableField(exist = false)
    private boolean isLiked;

    //评论的所有回复
    @TableField(exist = false)
    private List<Comment> responses;

    @Override
    public boolean equals(Object obj) {
        if(obj instanceof Comment comment){
//            判断主键是否相同
            return comment.getComment_id().equals(this.getComment_id());
        }
        return false;
    }
}
